package net.jcip.examples;

import net.jcip.annotations.*;

/**
 * ResourceFactory
 * <p/>
 * Lazy initialization holder class idiom
 *
 * @author Brian Goetz and Tim Peierls
 */
@ThreadSafe
public class ResourceFactory {
    /**
	 * @author  Administrator
	 */
    private static class ResourceHolder {
        /**
		 * @uml.property  name="resource"
		 * @uml.associationEnd  
		 */
        public static Resource resource = new Resource();
    }

    public static Resource getResource() {
        return ResourceFactory.ResourceHolder.resource;
    }

    static class Resource {
    }
}
